Tabu Search with Intensification Strategy for Functional Partitioning in Hardware-Software Codesign
نویسندگان
چکیده
This paper presents tabu search (TS) method with intensification strategy for hardware-software partitioning. The algorithm operates on functional blocks for designs represented as directed acyclic graphs (DAG), with the objective of minimising processing time under various hardware area constraints. Results are compared to two other heuristic search algorithms: genetic algorithm (GA) and simulated annealing (SA). The comparison involves a scheduling model based on list scheduling for calculating processing time used as a system cost, assuming that shared resource conflicts do not occur. The results show that TS, which rarely appears for solving this kind of problem, is superior to SA and GA in terms of both search time and the quality of solutions. In addition, we have implemented intensification strategy in TS called penalty reward, which can further improve the quality of results. Tabu Search and Intensification Strategy The major distinction of TS compared to other heuristic search methods is that it exploits data structures of the search history as a condition of the next moves [1]. Rather than randomly exploring the search space like the others, TS uses a short-term memory, named recency-based memory, to store recent search areas and uses a long-term memory, named frequency-based memory, to store frequency of searching in each area. Data in frequency-based memory are scaled by a positive constant Q which is then used as penalty values. The purpose of such penalty is to diversify future search into regions which are rarely visited. But here, we improve upon the idea of using penalty for both diversification and intensification in the following way: the region of the best solution in the last Kq iterations is selected. For all neighbours in this region, instead of using constant Q to compute the penalty factor, a new reward constant Q’ < Q is used. The region that earns the reward (Q’) is called the promising region and it will be updated in every Kq iterations. As a result, neighbours belonging to the promising region in the next Kq iterations have a higher chance to be selected because of the reduced penalty value. As will be seen later, TS with this intensification strategy, called penalty reward, provides better solutions compared to those using the standard TS algorithm. Our Approach We establish an approach that uses heuristic algorithms as partitioner. The partitioning results will be evaluated by a cost estimation model to obtain processing time (makespan). Estimating processing time is based on list scheduling, in which hardware tasks are scheduled without resource conflicts. In other words, our approach is a combination of partitioning and scheduling as shown in figure 1.
منابع مشابه
Comparing Three Heuristic Search Methods for Functional Partitioning in Hardware-Software Codesign
This paper compares three heuristic search algorithms: genetic algorithm (GA), simulated annealing (SA) and tabu search (TS), for hardware-software partitioning. The algorithms operate on functional blocks for designs represented as directed acyclic graphs, with the objective of minimising processing time under various hardware area constraints. The comparison involves a model for calculating p...
متن کاملA Parallel Tabu Search Algorithm Based on Partitioning Principle for TSPs
We presented a parallel tabu search (PTS) algorithm for the traveling salesman problem (TSP), which is NP-hard. To parallelize tabu search (TS) algorithm efficiently, the search space decomposition based on partition principle was used to balance the computing load, while exploitation in subspace had been boosted by an adaptive search strategy of intensification and diversification. Numerical r...
متن کاملSystem Level Hardware/Software Partitioning Based on Simulated Annealing and Tabu Search
This paper presents two heuristics for automatic hardware/software partitioning of system level specifications. Partitioning is performed at the granularity of blocks, loops, subprograms, and processes with the objective of performance optimization with a limited hardware and software cost. We define the metric values for partitioning and develop a cost function that guides partitioning towards...
متن کاملLow Power Hardware-Software Partitioning Algorithm for Heterogeneous Distributed Embedded Systems
Hardware-software partitioning is one of the most crucial steps in the design of embedded systems, which is the process of partitioning an embedded system specification into hardware and software modules to meet performance and cost goals. A majority of former work focuses on the problem of meeting timing constraints under minimizing the amount of hardware or minimizing time under hardware area...
متن کاملPerformance Guided System Level Hardware/Software Partitioning with Iterative Improvement Heuristics
This paper presents two heuristics for automatic hardware/software partitioning of system level specifications. Partitioning is performed at the granularity of loops, subprograms, and processes with the objective of performance optimization with a limited hardware and software cost. We define the metric values for partitioning and develop a cost function that guides partitioning towards the des...
متن کامل